home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / Libraries / DCLAP 6d / dclap6d / DNet / DGoList.h < prev    next >
Text File  |  1996-07-05  |  2KB  |  67 lines

  1. // DGopherList.h  
  2. // Internet Gopher client
  3. // by D. Gilbert, Mar 1992
  4. // dclap version jan 94
  5.  
  6. #ifndef __DGOPHERLIST__
  7. #define __DGOPHERLIST__
  8.  
  9. #include <DList.h>
  10.  
  11. class        DGopher;
  12. class        DView;
  13. class   DFile;
  14.  
  15.  
  16. class DGopherList : public DList {
  17. public:
  18.     enum Sorts {
  19.         kSortByItem = 0,
  20.         kSortByName = 1,
  21.         kSortBySize = 2,
  22.         kSortByKind = 3,
  23.         kSortByDate = 4,
  24.         kSortByHost = 5 
  25.         };
  26.     
  27.     DGopher            *fParentMenu, *fNewGopher;
  28.     DView                *fStatusLine;
  29.     Boolean            fListUnknowns;
  30.     Sorts                fSortOrder;
  31.     
  32.     static Boolean IsGopherLine( char *line);
  33.     static short CompareGophers( void* gopher1, void* gopher2);
  34.     static DGopher* NewGopher(char itemType, char* info, char* plusinfo, 
  35.                                                         short& status, DGopherList* ownerList);
  36.     static DGopher* CopyToNewKind(char itemType, DGopher* srcGopher, 
  37.                                                         DGopherList* ownerList, Boolean copyMacStuff=false);
  38.     static DGopher* GopherFromURL( char* url, long urlsize, DGopherList* itsList, 
  39.                                                         Boolean doInsertLast = true, char itemType = 0);
  40.     static DGopher* LocalGopher( DFile* theFile);
  41.     static DGopher* LocalGopher( char* name);
  42.     static short  LocalFolder2GopherList( DFile* outFile, char* folderpath);
  43.  
  44.     DGopherList( DGopher *parentMenu = NULL);
  45.     virtual    Boolean suicide(void);  // prefered to delete 
  46.     virtual    Boolean suicide(short ownercount);
  47.     
  48.     DGopher* GopherAt(short index) { return (DGopher*) At(index); }
  49.     
  50.     virtual void SetStatus(DView *statusline);
  51.     virtual Boolean MakeNewGopher( char *pInfo, char *eInfo, 
  52.                                                                     char *pPlus, char *ePlus, short status);
  53.     virtual void ReadLinks( char* linkptr);
  54.     virtual void ReadLinks( char *linkptr, long len);
  55.     virtual char* WriteLinks(short indent = 0);
  56.     virtual char* WriteLinksForServer();
  57.     virtual char* WriteLinksForDisplay( Boolean showDate=true, Boolean showSize=true,
  58.                             Boolean showKind=true, Boolean showPath=false, Boolean showHost=false, 
  59.                             Boolean showPort=false, Boolean showAdmin=false);
  60.     virtual Boolean SortList(Sorts sortorder = kSortByItem);
  61.     virtual void FreeAllObjects();
  62. };
  63.  
  64.  
  65.  
  66. #endif
  67.